package com.ocom.common.request.exposeapi;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.*;

/**
 * @Description: TODO
 * @Author: 朱晖
 * @Date: 2023/3/24
 **/
@Data
public class ConsumeDetailRequest {
	/**
	 * pCode	学工号	string		是
	 * type	操作类型	int	1-发卡，2-退卡，3-挂失，4-解挂	是
	 * cardNo	卡号	String		是
	 */

	@JsonProperty("pCode")
//	@NotBlank(message = "pCode 不能为空")
	String pCode;

	@Min(value = 1, message = "page最小1")
	@NotNull(message = "page 不能为空")
	Integer page;

	@Max(value = 100, message = "size最大100")
	@Min(value = 1, message = "size最小1")
	@NotNull(message = "size 不能为空")
	Integer size;

	@Pattern(regexp = "^20+\\d{2}+[0-1]{1}+[0-9]{1}$", message = "月份格式错误")
	@JsonProperty("month")
	@NotBlank(message = "month 不能为空")
	String month;

	@NotNull(message = "timestamp 毫秒时间长不能为空")
	Long timestamp;

	@NotBlank(message = "comId 不能为空")
	String comId;   //实际是 comAppId
	@NotBlank(message = "nonceStr 不能为空")
	@Length(min = 32, max = 32, message = "nonceStr长度必须为32")
	String nonceStr;  // 32
	@Length(min = 32, max = 32, message = "sign长度必须为32")
	@NotBlank(message = "sign 不能为空")
	String sign;   //实际是 comAppId
}
